import java.util.*;

public class maxProfit {
    /**
     * 腾讯一面的题目
     */
    public static void main(String[] args) {
        Scanner in=new Scanner(System.in);
        int n=in.nextInt();
        int[]a=new int[n];
        for(int i=0;i<n;i++){
            a[i]=in.nextInt();
        }
        System.out.println(method1(a));
    }

    /**
     * 常规解法，直接秒懂
     * @param nums
     * @return
     */
    public static int method(int[] nums){

        int cost=Integer.MAX_VALUE;
        int MaxProfit=0;
        for(int i=0;i<nums.length;i++){
            cost=Math.min(cost,nums[i]);
            MaxProfit=Math.max(MaxProfit,nums[i]-cost);
        }
        return MaxProfit;
    }

    /**
     * dp数组，一次遍历为n
     * @param nums
     * @return
     */
    public static int method1(int[] nums){
        int []dp=new int[nums.length]; //代表的是第i天结束吧
        dp[0]=0;
        int min=nums[0]; //代表历史最低价格
        for(int i=1;i<nums.length;i++){
            dp[i]=Math.max(dp[i-1],nums[i]-min);
            min=Math.min(min,nums[i]);
        }
        return dp[nums.length-1];

    }
}
